<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        window.onload=function(){
            function loadImg(src) {
                return new Promise((resolve, reject) => {
                    let img = document.createElement('img');
                    img.onload = function () {
                        resolve(img);
                    };
                    img.onerror = function (e) {
                        // 返回错误信息
                        reject("catch 错误 加载失败")
                    }
                    img.src = src;
                })
            }
            var src1 = '../../../../images/award1.jpg'; //180
            var src2 = '../../../../images/Logo.png';   //179
            var result1 = loadImg(src1);
            var result2 = loadImg(src2);

            // Promise.all() 等待所有的promise对象函数都执行完了之后
            // 才使用then返回结果  then接收一个datas数组  包括所有的promise
            Promise.all([result1,result2]).then(function(datas){
                console.log("all: 第一张"+datas[0].width,datas[0].height);
                console.log("all: 第二张"+datas[1].width,datas[1].height);
            })

            // Promise.race() 哪一个promise先执行完就可以调用then返回相应的数据
            // then接收一个data  包含最先执行完的promise返回的数据
            Promise.race([result1,result2]).then(function(data){
                console.log("race 最先执行完的是："+data.width,data.height)
            })
            console.log("测试是否我先打印");
        }
    </script>
</body>
</html>